﻿using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Runtime.InteropServices;
using System.ComponentModel;

namespace Marmat.Forms.Skin
{
    /// <summary>
    /// 窗体按钮项
    /// </summary>
    public class FormButton
    {

        /// <summary>
        /// 设置或返回默认显示图像。
        /// </summary>
        [Browsable(true), Description("设置或返回默认显示图像。")]
        [DefaultValue(null)]
        public Image Normal { get; set; }

        /// <summary>
        /// 设置或返回鼠标移过时显示的图像。
        /// </summary>
        [Browsable(true), Description("设置或返回鼠标移过时显示的图像。")]
        [DefaultValue(null)]
        public Image Hover { get; set; }

        /// <summary>
        /// 设置或返回鼠标按下后显示的图像。
        /// </summary>
        [Browsable(true), Description("设置或返回鼠标按下后显示的图像。")]
        [DefaultValue(null)]
        public Image Down { get; set; }

        ///// <summary>
        ///// 返回按钮的矩形。
        ///// </summary>
        //[Browsable(false), Description("返回按钮的矩形。")]
        //public Rectangle Rectangle { get; internal set; }

        /// <summary>
        /// 按钮的矩形大小。
        /// </summary>
        [DefaultValue(typeof(Size), "28, 20")]
        public Size Size { get; set; } = new Size(28, 20);

        /// <summary>
        /// 按钮的名称。
        /// </summary>
        [RefreshProperties(RefreshProperties.All)]
        public string Name { get; set; }

        /// <summary>
        /// 获取或设置鼠标移入时的提示文本。
        /// </summary>
        public string ToolTip { get; set; }

        /// <summary>
        /// 获取或设置该按钮是否可见。
        /// </summary>
        [DefaultValue(true)]
        public bool Visible { get; set; } = true;
    }
}
